home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3c / scandir.z / scandir
Encoding:
Text File  |  1998-10-20  |  7.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSCCCCAAAANNNNDDDDIIIIRRRR((((3333CCCC))))                                                        SSSSCCCCAAAANNNNDDDDIIIIRRRR((((3333CCCC))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      scandir, scandir64, alphasort, alphasort64 - scan a directory
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.    _S_y_s_V:
  13.  
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>>
  15.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddiiiirrrreeeennnntttt....hhhh>>>>
  16.  
  17.      iiiinnnntttt ssssccccaaaannnnddddiiiirrrr((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ddddiiiirrrrnnnnaaaammmmeeee,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ********nnnnaaaammmmeeeelllliiiisssstttt[[[[]]]],,,,
  18.                  iiiinnnntttt ((((****sssseeeelllleeeecccctttt))))((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ****)))),,,,
  19.                  iiiinnnntttt ((((****ccccoooommmmppppaaaarrrr))))((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ********,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ********))))))));;;;
  20.  
  21.      iiiinnnntttt aaaallllpppphhhhaaaassssoooorrrrtttt((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ********dddd1111,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt ********dddd2222))));;;;
  22.  
  23.      iiiinnnntttt ssssccccaaaannnnddddiiiirrrr66664444((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ddddiiiirrrrnnnnaaaammmmeeee,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ********nnnnaaaammmmeeeelllliiiisssstttt[[[[]]]],,,,
  24.                  iiiinnnntttt ((((****sssseeeelllleeeecccctttt))))((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ****)))),,,,
  25.                  iiiinnnntttt ((((****ccccoooommmmppppaaaarrrr))))((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ********,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ********))))))));;;;
  26.  
  27.      iiiinnnntttt aaaallllpppphhhhaaaassssoooorrrrtttt66664444((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ********dddd1111,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeennnntttt66664444 ********dddd2222))));;;;
  28.    _B_S_D:
  29.  
  30.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>>
  31.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ddddiiiirrrr....hhhh>>>>
  32.  
  33.      iiiinnnntttt ssssccccaaaannnnddddiiiirrrr((((ccccoooonnnnsssstttt cccchhhhaaaarrrr ****ddddiiiirrrrnnnnaaaammmmeeee,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeecccctttt ********nnnnaaaammmmeeeelllliiiisssstttt[[[[]]]],,,,
  34.                  iiiinnnntttt ((((****sssseeeelllleeeecccctttt))))(((()))),,,, iiiinnnntttt ((((****ccccoooommmmppppaaaarrrr))))(((())))))));;;;
  35.  
  36.      iiiinnnntttt aaaallllpppphhhhaaaassssoooorrrrtttt((((ssssttttrrrruuuucccctttt ddddiiiirrrreeeecccctttt ********dddd1111,,,, ssssttttrrrruuuucccctttt ddddiiiirrrreeeecccctttt ********dddd2222))));;;;
  37.  
  38. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  39.      The inclusion of <_d_i_r_e_n_t._h> selects the System V versions of these
  40.      routines.  For the 4.3BSD versions, include <_s_y_s/_d_i_r._h>.
  41.  
  42.      _S_c_a_n_d_i_r reads the directory _d_i_r_n_a_m_e and builds an array of pointers to
  43.      directory entries using _m_a_l_l_o_c(3C).  It returns the number of entries in
  44.      the array and a pointer to the array through _n_a_m_e_l_i_s_t.
  45.  
  46.      The _s_e_l_e_c_t parameter is a pointer to a user-supplied subroutine which is
  47.      called by _s_c_a_n_d_i_r to select which entries are to be included in the
  48.      array.  The select routine is passed a pointer to a directory entry and
  49.      should return a non-zero value if the directory entry is to be included
  50.      in the array.  If _s_e_l_e_c_t is null, then all the directory entries will be
  51.      included.
  52.  
  53.      The _c_o_m_p_a_r parameter is a pointer to a user supplied subroutine which is
  54.      passed to _q_s_o_r_t(3C) to sort the completed array. If this pointer is null,
  55.      the array is not sorted.  _a_l_p_h_a_s_o_r_t is a routine which can be used for
  56.      the _c_o_m_p_a_r parameter to sort the array alphabetically.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSCCCCAAAANNNNDDDDIIIIRRRR((((3333CCCC))))                                                        SSSSCCCCAAAANNNNDDDDIIIIRRRR((((3333CCCC))))
  71.  
  72.  
  73.  
  74.      The memory allocated for the array can be deallocated with _f_r_e_e (see
  75.      _m_a_l_l_o_c(3C)) by freeing each pointer in the array and the array itself.
  76.  
  77.      The _s_c_a_n_d_i_r_6_4 and _a_l_p_h_a_s_o_r_t_6_4 interfaces differ from _s_c_a_n_d_i_r and
  78.      _a_l_p_h_a_s_o_r_t, respectively, in that they use _d_i_r_e_n_t_6_4 structures instead of
  79.      _d_i_r_e_n_t structures.
  80.  
  81. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  82.      directory(3C), malloc(3), qsort(3C), dirent(4)
  83.  
  84. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  85.      Returns -1 if the directory cannot be opened for reading or if _m_a_l_l_o_c(3C)
  86.      cannot allocate enough memory to hold all the data structures.
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.